package com.zhz.employee.contract.response;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

/**
 * 员工个人信息读取
 *
 * @author zhouhengzhe
 * @date 2023/6/4
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class FindPersonalInfoResponse {

    private String id;

    @ApiModelProperty("用户ID")
    private String userId;

    @ApiModelProperty("用户名称")
    private String username;

    @ApiModelProperty("手机号码")
    private String mobile;

    @ApiModelProperty("入职时间")
    private LocalDate timeOfEntry;

    @ApiModelProperty("部门名称")
    private String departmentName;

    @ApiModelProperty("公司ID")
    private String companyId;

    @ApiModelProperty("性别")
    private String sex;

    @ApiModelProperty("出生日期")
    private LocalDate dateOfBirth;

    @ApiModelProperty("最高学历")
    private String theHighestDegreeOfEducation;

    @ApiModelProperty("国家地区")
    private String nationalArea;

    @ApiModelProperty("护照号")
    private String passportNo;

    @ApiModelProperty("身份证号")
    private String idNumber;

    @ApiModelProperty("身份证照片-正面")
    private String idCardPhotoPositive;

    @ApiModelProperty("身份证照片-背面")
    private String idCardPhotoBack;

    @ApiModelProperty("籍贯")
    private String nativePlace;

    @ApiModelProperty("民族")
    private String nation;

    @ApiModelProperty("英文名")
    private String englishName;

    @ApiModelProperty("婚姻状况")
    private String maritalStatus;

    @ApiModelProperty("员工照片")
    private String staffPhoto;

    @ApiModelProperty("生日")
    private String birthday;

    @ApiModelProperty("属相")
    private String zodiac;

    @ApiModelProperty("年龄")
    private String age;

    @ApiModelProperty("星座")
    private String constellation;

    @ApiModelProperty("血型")
    private String bloodType;

    @ApiModelProperty("户籍所在地")
    private String domicile;

    @ApiModelProperty("政治面貌")
    private String politicalOutlook;

    @ApiModelProperty("入党时间")
    private String timeToJoinTheParty;

    @ApiModelProperty("存档机构")
    private String archivingOrganization;

    @ApiModelProperty("子女状态")
    private String stateOfChildren;

    @ApiModelProperty("子女有无商业保险")
    private String doChildrenHaveCommercialInsurance;

    @ApiModelProperty("有无违法违纪行为")
    private String isThereAnyViolationOfLawOrDiscipline;

    @ApiModelProperty("有无重大病史")
    private String areThereAnyMajorMedicalHistories;

    @ApiModelProperty("QQ")
    private String qq;

    @ApiModelProperty("微信")
    private String wechat;

    @ApiModelProperty("居住证城市")
    private String residenceCardCity;

    @ApiModelProperty("居住证办理日期")
    private String dateOfResidencePermit;

    @ApiModelProperty("居住证截止日期")
    private String residencePermitDeadline;

    @ApiModelProperty("现居住地")
    private String placeOfResidence;

    @ApiModelProperty("通讯地址")
    private String postalAddress;

    @ApiModelProperty("联系手机")
    private String contactTheMobilePhone;

    @ApiModelProperty("个人邮箱")
    private String personalMailbox;

    @ApiModelProperty("紧急联系人")
    private String emergencyContact;

    @ApiModelProperty("紧急联系电话")
    private String emergencyContactNumber;

    @ApiModelProperty("社保电脑号")
    private String socialSecurityComputerNumber;

    @ApiModelProperty("公积金账号")
    private String providentFundAccount;

    @ApiModelProperty("银行卡号")
    private String bankCardNumber;

    @ApiModelProperty("开户行")
    private String openingBank;

    @ApiModelProperty("学历类型")
    private String educationalType;

    @ApiModelProperty("毕业学校")
    private String graduateSchool;

    @ApiModelProperty("入学时间")
    private String enrolmentTime;

    @ApiModelProperty("毕业时间")
    private String graduationTime;

    @ApiModelProperty("专业")
    private String major;

    @ApiModelProperty("毕业证书")
    private String graduationCertificate;

    @ApiModelProperty("学位证书")
    private String certificateOfAcademicDegree;

    @ApiModelProperty("上家公司")
    private String homeCompany;

    @ApiModelProperty("职称")
    private String title;

    @ApiModelProperty("简历")
    private String resume;

    @ApiModelProperty("有无竞业限制")
    private String isThereAnyCompetitionRestriction;

    @ApiModelProperty("前公司离职证明")
    private String proofOfDepartureOfFormerCompany;

    @ApiModelProperty("备注")
    private String remarks;
}
